Fix crash if some secondary CPUs cannot be initialised.
authorkfraser@localhost.localdomain <kfraser@localhost.localdomain>
Wed, 24 Jan 2007 11:04:22 +0000 (11:04 +0000)
committerkfraser@localhost.localdomain <kfraser@localhost.localdomain>
Wed, 24 Jan 2007 11:04:22 +0000 (11:04 +0000)
Signed-off-by: Keir Fraser <keir@xensource.com>
xen/common/domain.c

index e91b8028ffed19285982c6d1a063be17503344c9..a3e2a15b0f1a981c45a6a71189ee9f0ac589e3e8 100644 (file)
@@ -129,6 +129,9 @@ struct vcpu *alloc_idle_vcpu(unsigned int cpu_id)
     struct vcpu *v;
     unsigned int vcpu_id = cpu_id % MAX_VIRT_CPUS;
 
+    if ( (v = idle_vcpu[cpu_id]) != NULL )
+        return v;
+
     d = (vcpu_id == 0) ?
         domain_create(IDLE_DOMAIN_ID, 0) :
         idle_vcpu[cpu_id - vcpu_id]->domain;